const http = require('http');
const path = require('path'); // 规范化路径
const resolveUrl = require('url'); // 规范化请求地址 www.baidu.com?type=111
const querystring = require('querystring'); // 查询字符串 规范化 name=123&age=123
const fs = require('fs');

const MIME = {
  "html": "text/html",
  "js": "text/javascript",
  "css": "text/css",
  "jpg": "image/jpeg",
  "ico": "image/x-icon",
  "map": "text/plain"
}

// 读文件 （返回页面）
// 写接口 （返回数据）
const server = http.createServer((req, res) => {

  const requestUrl = req.url;// 整体路径
  const method = req.method;// 前端请求方式 get post
  let pathname = resolveUrl.parse(requestUrl).pathname;// 获取前端请求路径

  // 判断 当路径为 / 
  pathname = pathname === '/' ? '/login.html' : pathname;
  // 获取文件后缀名字
  let extname = path.extname(pathname)
  /**
   * @fncontentType
   */
  // 找文件解析文件类型
  let contentType = MIME[extname.slice(1)] || 'text/plain';
  // 有后缀
  if (extname) {
    // 设置响应头  响应页面格式 
    res.writeHead(200, { "content-type": `text/html;charset=UTF-8` });
    return;
  } else {
    //  设置响应头  响应数据格式 
    res.writeHead(200, { "content-type": `text/json` });
    res.end('返回数据')
    return;
  }
})
// 监听端口, 同一个端口不能起两次服务，否侧报错
server.listen(3000, () => console.log(3000))
